package com.hwd.gmall.product.feign.fallback;

import com.hwd.gmall.model.product.*;
import com.hwd.gmall.product.feign.ProductFeignClient;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 降级类
 *
 * @author 黄伟东/Victor
 * @date 2022/4/21 23:58
 */
@Component
public class ProductFeignClientFallBack implements ProductFeignClient {

    /**
     * 根据skuId获取skuInfo信息
     *
     * @param skuId skuInfo表的id
     * @return com.hwd.gmall.model.product.SkuInfo
     */
    @Override
    public SkuInfo getSkuInfo(Long skuId) {
        return null;
    }

    /**
     * 根据三级分类id获取分类信息（包含一级、二级信息）
     *
     * @param category3Id 三级分类id
     * @return com.hwd.gmall.model.product.BaseCategoryView
     */
    @Override
    public BaseCategoryView getCategory(Long category3Id) {
        return null;
    }

    /**
     * 根据skuIf查询sku的图片列表
     *
     * @param skuId skuInfo表的id
     * @return java.util.List<com.hwd.gmall.model.product.SkuImage>
     */
    @Override
    public List<SkuImage> listSkuImages(Long skuId) {
        return null;
    }

    /**
     * 根据spuId和skuId获取商品的销售属性
     *
     * @param spuId spu的id
     * @param skuId sku的id
     * @return java.util.List<com.hwd.gmall.model.product.SpuSaleAttr>
     */
    @Override
    public List<SpuSaleAttr> listSpuSaleAttrBySpuIdAndSkuId(Long spuId, Long skuId) {
        return null;
    }

    /**
     * 根据skuId查询商品价格
     *
     * @param skuId skuInfo表的id
     * @return java.math.BigDecimal
     */
    @Override
    public BigDecimal getSkuPrice(Long skuId) {
        return null;
    }

    /**
     * 查询指定spu的所有销售属性值与sku对应关系
     *
     * @param spuId spuId
     * @return java.util.Map<java.lang.String, java.lang.String>
     */
    @Override
    public Map<String, String> getSkuIdsValueIdsMap(Long spuId) {
        return null;
    }

    /**
     * 根据品牌id查询品牌信息
     *
     * @param id 品牌表id
     * @return com.hwd.gmall.model.product.BaseTrademark
     */
    @Override
    public BaseTrademark getBaseTrademark(Long id) {
        return null;
    }

    /**
     * 根据skuId查询商品的平台属性名称和值信息
     *
     * @param skuId shuInfo表的id
     * @return java.util.List<com.hwd.gmall.model.product.BaseAttrInfo>
     */
    @Override
    public List<BaseAttrInfo> getBaseAttrInfo(Long skuId) {
        return null;
    }

    /**
     * 扣减库存
     *
     * @param stockDeductMap 扣减的商品id和数量的map对象
     * @return java.lang.Boolean
     */
    @Override
    public Boolean deductStock(Map<String, Object> stockDeductMap) {
        return null;
    }

    /**
     * 库存回滚
     *
     * @param stockRollbackMap 回滚的商品id和数量的map对象
     * @return java.lang.Boolean
     */
    @Override
    public Boolean rollbackStock(Map<String, Object> stockRollbackMap) {
        return null;
    }
}
